1. Field of the Invention
This invention relates to data transactions and recovery, and more particularly relates to providing parallel access to a data set configured for automatic recovery.
2. Description of the Related Art
Application processing systems such as Information Management System (IMS®) from IBM of Armonk, N.Y. generally handle extremely important data. As a result, users of an IMS® often require rapid and uninterrupted access to highly reliable data. Consequently, IMS® systems are implemented with backup capabilities and with a redundant architecture. Users of the IMS® data typically include executable computer applications.
In the current implementation of an application processing system, a critical data set can be accessed by multiple systems. There is typically a component in each system that manages the data set and processes requests from other components. Processing of these requests involves one or more accesses to the data set to read or update the data. As commonly implemented, access to the data set is serialized such that one system has exclusive access to the data set at a time while processing a request.
One architecture typically implemented for greater reliability in serialized access systems includes two physical data sets and a third spare data set (‘a pair and a spare’ architecture). Software duplexing is used to maintain the two data sets as active dual copies of the same logical data. In the event of a media failure on one of the two active physical data sets, the failed data set is removed from the physical data set configuration and the remaining active data set is copied into the spare to maintain dual data sets. A request is then made of an administrator to create a new spare data set. Alternatively, the new spare data set is generated automatically. Typically, the recovery process can be performed automatically. Although the “pair and a spare” architecture is highly reliable, it is conventionally just implemented in serialized systems due to the many complexities involved in coordinating the recovery process while allowing multiple systems to access the data.
Although the “pair and a spare” architecture provides increased reliability, a bottleneck can be created between application instances constantly accessing the data set serially that hinders performance. To eliminate contention resulting from data set level serialization, it would be desirable to allow multiple systems to access the data set and process requests concurrently.
One solution implemented to allow parallel access to multiple application instances concurrently is implemented in a system using a data set backup and forward recovery logging. In a backup and forward recovery solution, multiple application instances may access the data set in parallel. However, if recovery is required, all access to the data set may be suspended while the backup data set is copied over and the forward recovery is implemented. Forward recovery logging is required to capture updates made to the data set between backup and time of failure. Implementation of this backup scheme requires that the data set be taken offline for the duration of the recovery. Additionally, typical systems require manual operation of the backup procedure. Recovery using backup and forward recovery can be prohibitively time consuming. The primary drawbacks of this system include increased system down time, and an inability to perform the recovery process automatically.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that provide parallel access to a data set configured for automatic recovery. Beneficially, such an apparatus, system, and method would overcome the many complexities of providing multiple systems access to a data set configured for high-speed automatic recovery and high availability. Information system reliability and performance will be increased without typical tradeoffs required by standard system architectures.